Die Möglichkeit, auf geänderte Daten direkt Zugriff zu nehmen, ohne zuvor die Datenbank erneut auslesen zu müssen, kann den Datendurchsatz einer Anwendung steigern. Wenn unter SQL Server 2005 Änderungsanweisungen ausgeführt werden, ist es möglich die geänderten Daten aufzuzeichnen und zur Verwendung bei weiteren Transaktionen zu speichern. Diese Technik erlaubt es ein unnötiges Auslesen der OLTP-Tabellen (Online Transaction Processing) zu umgehen oder spezielle Auditfunktionen ohne Trigger zu implementieren.
Grundsätzliches zu Triggern
In SQL Server 2005 gibt es zwei Arten von Triggern: Data Definition Language (DDL) und Data Manipulation Language (DML). DML-Trigger werden durch Änderung von Daten ausgelöst und protokollieren jede Änderung der Datenbank.
Funktionsweise
Wie die DML-Trigger nutzt die OUTPUT-Klausel die Tabellen INSERTED und DELETED. Wenn in der Datenbank-Engine eine Änderungsanweisung ausgeführt wird, erzeugt SQL Server 2005 die Tabellen INSERTED und DELETED, in denen die geänderten Daten aufgeführt werden. Die Struktur dieser Tabellen ist dabei identisch mit der Struktur der geänderten Tabellen. Für Löschanweisungen werden nur Daten in die Tabelle DELETED eintragen, die jene Zeilen enthält, die aus der benutzerdefinierten Tabelle gelöscht wurden. Dasselbe gilt bei Einfügeanweisungen: Es erfolgen hier nur Eintragungen in die Tabelle INSERTED. Im Falle einer Aktualisierungsanweisung hingegen hält die Tabelle DELETED die Datenwerte vor der Aktualisierung fest und die Tabelle INSERTED die Daten nach der Aktualisierung.
Neueste Kommentare
Noch keine Kommentare zu DML-Wissen: Die OUTPUT-Funktion in SQL Server 2005
Kommentar hinzufügenVielen Dank für Ihren Kommentar.
Ihr Kommentar wurde gespeichert und wartet auf Moderation.